package org.huangrui.spark.java.sql;

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

/**
 * @Author hr
 * @Create 2024-10-20 13:48
 */
public class SparkSQL02_Model_2 {
    public static void main(String[] args) {
        SparkSession spark = SparkSession.builder().appName("SparkSQL02_Model").master("local[*]").getOrCreate();

        final Dataset<Row> ds = spark.read().json("data/user.json");

        // TODO 模型对象的访问
        //      将数据模型转换为二维的结构（行，列），可以通过SQL文进行访问
        //      视图：是表的查询结果集。表可以增加，修改，删除，查询。
        //           视图不能增加，不能修改，不能删除，只能查询
        ds.createOrReplaceTempView("user");
        spark.sql("select * from user").show();

        // TODO 采用DSL语法进行访问
        //      select * from user
        ds.select("*").show();



        spark.stop();
    }
}
